iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 14
0
Mobile Development

Andriod Studio 菜鳥的學習分享系列 第 14

[Android Studio菜鳥的學習分享]Activity間傳遞資料-Intent & putExtras & Bundle

  • 分享至 

  • xImage
  •  

今天要分享的是Activity間傳遞資料的方法。
比較常用的方法有兩種

第一種:

Intent有個內建方法putExtra
你可以使用它將變數直接放入,
夾帶使用。

第二種:

新建一個Bundle,
再使用putExtras方法夾帶Bundle過去。

今天我會示範我較常用的第二種方法,
新建一個Bundle再使用putExtras方法夾帶資料過去。
我們延續 [Android Studio菜鳥的學習分享]頁面跳轉切換-Intent
繼續製作下去。


目標:

取得MainActivity的EditText和TextView兩個欄位資料,
將資料放入Bundle,
使用putExtras方法夾帶資料。
使用Intent切換頁面後,
將兩個資料放入MainActivityBTest的兩個新TextView中。

結果預覽:

https://ithelp.ithome.com.tw/upload/images/20200908/20129524KQ2AMLtn7l.jpg

https://ithelp.ithome.com.tw/upload/images/20200908/20129524wly5ujEQ2U.jpg


activity_main.xml

https://ithelp.ithome.com.tw/upload/images/20200908/20129524SS8jSBrdVr.jpg


MainActivity.java

https://ithelp.ithome.com.tw/upload/images/20200908/20129524r7algdFG4o.jpg

Step01-新增Intent變數:

Intent intent = new Intent();

Step02-設定目前Activity與目標Activity:

intent.setClass(MainActivity.this,MainActivityBTest.class);

Step03-新增Bundle變數:

Bundle bundle = new Bundle();

Step04-Bundle內新增字串資料:

putXXXXX:
XXXXX為資料型態

Example:
putString -> 放入字串
putInteger -> 放入整數

bundle.putString("edittext",edittitle.getText().toString());
bundle.putString("textview",textoutput.getText().toString());

Step05-在Intent夾入Bundle:

intent.putExtras(bundle);

Step06-開始執行轉跳切換:

startActivity(intent);

activity_main_b_test.xml

https://ithelp.ithome.com.tw/upload/images/20200908/20129524Vy0WkpgcYb.jpg


MainActivityBTest.java

https://ithelp.ithome.com.tw/upload/images/20200908/20129524PyQ8vmt6Ey.jpg

Step01-產生變數:

private TextView textEdit,textText;

Step02-變數綁定ID:

textEdit = (TextView) findViewById(R.id.textEdit);
textText = (TextView) findViewById(R.id.textText);

Step03-獲取Bundle內資料並放入字串變數:

String edittextString = (String)getIntent().getExtras().getString("edittext");
String textviewString = (String)getIntent().getExtras().getString("textview");

Step04-設定字串文字

textEdit.setText(edittextString);
textText.setText(textviewString);

上一篇
[Android Studio菜鳥的學習分享]頁面跳轉切換-Intent
下一篇
[Android Studio菜鳥的學習分享]內建檔案選擇器-選取檔案並取得檔案路徑
系列文
Andriod Studio 菜鳥的學習分享30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言